|
Kurzfassung
Mobile Agenten sind Programme, die Aufträge für einen Benutzer
ausführen. Dazu sind sie in der Lage, autonom zu handeln und von
einem Rechner auf einen anderen zu migrieren, vorausgesetzt, daß
auf beiden Rechnern ein "Agentensystem" installiert ist.
Ein Rechner auf dem ein Agentensystem ausgeführt wird, ist ein
Knoten in diesem Agentensystem.
Verwürfelungsalgorithmen sind Teil eines Sicherheitskonzeptes,
welches die Agenten vor Angriffen von Knoten schützen soll. In
dieser Arbeit wird zuerst ein Überblick über das Gebiet
"Programmverstehen" gegeben. Da das Verstehen eines
Programmes durch einen Verwürfelungsalgorithmus verhindert werden
soll, sind Probleme, die beim Programmverstehen auftreten, gute
Ausgangspunkte für Verwürfelungsalgorithmen. Außerdem muß ein
Verwürfelungsalgorithmus auch gegen speziell entwickelte
Analyse-Programme resistent sein. Aufbauend auf diesen beiden
Gedanken werden einfache Verwürfelungsalgorithmen entwickelt. Diese
Algorithmen verwürfeln jeweils nur bestimmte Teile eines Programmes
wie z.B. den Typ von Variablen oder den Kontrollfluß. Im nächsten
Schritt werden diese Algorithmen dann zu einem neuen
Verwürfelungsalgorithmus kombiniert. Dieser verwürfelt dann alle
Teile eines Programmes. In einer prototypischen Implementierung wird
die prinzipielle Funktionsfähigkeit dieses kombinierten
Verwürfelungsalgorithmus gezeigt. Nach einigen Überlegungen zur
Analyse von verwürfelten Programmen, werden abschließend
Eigenschaften von Programmiersprachen behandelt, die eine
Verwürfelung vereinfachen oder erschweren.
|